package cheme.ProcessEditor.Figures;

import org.eclipse.draw2d.IFigure;

import cheme.ProcessEditor.Parts.Streams.Tag.IDecoratorFigure;

public interface IDecoratable<T extends IFigure> extends IDecoratorFigure<T>
{
	public enum Alignment {LEFT, TOP, RIGHT, BOTTOM};
	
	public interface IDecorator extends IFigure
	{
		void setDecorationAlignment(Alignment alignment);
		Alignment getDecorationAlignment();
	}
	
	void add(IDecorator decorator);
	void remove(IDecorator decorator);
	
	IFigure getBottomCompartment();
	void setBottomCompartment(IFigure bottomCompartment);
	IFigure getLeftCompartment();
	void setLeftCompartment(IFigure leftCompartment);
	IFigure getRightCompartment();
	void setRightCompartment(IFigure rightCompartment);
	IFigure getTopCompartment();
	void setTopCompartment(IFigure topCompartment);
}
